home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / CSPCO.z / CSPCO
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCSSSSPPPPCCCCOOOO((((3333FFFF))))                                                            CCCCSSSSPPPPCCCCOOOO((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CSPCO   - CSPCO factors a complex symmetric matrix stored in packed form
  10.      by elimination with symmetric pivoting and estimates the condition of the
  11.      matrix.
  12.  
  13.      If  RCOND  is not needed, CSPFA is slightly faster.  To solve  A*X = B ,
  14.      follow CSPCO by CSPSL.  To compute  INVERSE(A)*C , follow CSPCO by CSPSL.
  15.      To compute  INVERSE(A) , follow CSPCO by CSPDI.  To compute
  16.      DETERMINANT(A) , follow CSPCO by CSPDI.
  17.  
  18.  
  19. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  20.       SUBROUTINE CSPCO(AP,N,KPVT,RCOND,Z)
  21.  
  22. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  23.      On Entry
  24.  
  25.      AAAAPPPP COMPLEX (N*(N+1)/2)
  26.         the packed form of a symmetric matrix  A .  The
  27.         columns of the upper triangle are stored sequentially
  28.         in a one-dimensional array of length  N*(N+1)/2 .
  29.         See comments below for details.
  30.  
  31.      NNNN INTEGER
  32.         the order of the matrix  A .  On Return
  33.  
  34.      AAAAPPPP a block diagonal matrix and the multipliers which
  35.         were used to obtain it stored in packed form.
  36.         The factorization can be written  A = U*D*TRANS(U)
  37.         where  U  is a product of permutation and unit
  38.         upper triangular matrices , TRANS(U) is the
  39.         transpose of  U , and  D  is block diagonal
  40.         with 1 by 1 and 2 by 2 blocks.  KVPT    INTEGER(N)
  41.         an integer vector of pivot indices.
  42.  
  43.      RRRRCCCCOOOONNNNDDDD REAL
  44.         an estimate of the reciprocal condition of  A .
  45.         For the system  A*X = B , relative perturbations
  46.         in  A  and  B  of size  EPSILON  may cause
  47.         relative perturbations in  X  of size  EPSILON/RCOND .
  48.         If  RCOND  is so small that the logical expression
  49.         1.0 + RCOND .EQ. 1.0
  50.         is true, then  A  may be singular to working
  51.         precision.  In particular,  RCOND  is zero  if
  52.         exact singularity is detected or the estimate
  53.         underflows.
  54.  
  55.      ZZZZ COMPLEX(N)
  56.         a work vector whose contents are usually unimportant.
  57.         If  A  is close to a singular matrix, then  Z  is
  58.         an approximate null vector in the sense that
  59.         NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .  Packed Storage The following
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCSSSSPPPPCCCCOOOO((((3333FFFF))))                                                            CCCCSSSSPPPPCCCCOOOO((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      program segment will pack the upper triangle of a symmetric matrix.
  75.         K = 0
  76.         DO 20 J = 1, N
  77.         DO 10 I = 1, J
  78.         K = K + 1
  79.         AP(K) = A(I,J)
  80.         10    CONTINUE
  81.         20 CONTINUE LINPACK.  This version dated 08/14/78 .  Cleve Moler,
  82.      University of New Mexico, Argonne National Lab.  Subroutines and
  83.      Functions LINPACK CSPFA BLAS CAXPY,CDOTU,CSSCAL,SCASUM Fortran
  84.      ABS,AIMAG,AMAX1,CMPLX,IABS,REAL
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.